package br.com.news.database.entities;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import br.com.news.database.utils.BaseEntity;

@Entity
@Table(name = "Noticia")
public class NoticiaEntity extends BaseEntity{

	private static final long serialVersionUID = 4652940277466532728L;

	@Id
	@GeneratedValue
	private Long idNoticia;

	@ManyToOne
	@JoinColumn(name="idCategoria")
	private CategoriaEntity categoria;

	@ManyToOne
	@JoinColumn(name="criadoPor")
	private UsuarioEntity usuario;

	@ManyToOne
	@JoinColumn(name="idFonte")
	private FonteEntity fonte;

	private String autor;
	private Date dataCriacao;
	private Date dataNoticia;
	private boolean status;
	private String texto;
	private String titulo;
	private String imagem;
	private String subTitulo;
	private String url;
	private byte[] arquivoImagem;
	private Integer tamanhoImagem;

	public NoticiaEntity() {
	}

	public NoticiaEntity(CategoriaEntity categoria, UsuarioEntity usuario, FonteEntity fonte,
			Date dataCriacao, boolean status, String texto, String titulo) {
		this.categoria = categoria;
		this.usuario = usuario;
		this.fonte = fonte;
		this.dataCriacao = dataCriacao;
		this.status = status;
		this.texto = texto;
		this.titulo = titulo;
	}

	public Long getIdNoticia() {
		return this.idNoticia;
	}

	public void setIdNoticia(Long idNoticia) {
		this.idNoticia = idNoticia;
	}

	public CategoriaEntity getCategoria() {
		return this.categoria;
	}

	public void setCategoria(CategoriaEntity categoria) {
		this.categoria = categoria;
	}

	public UsuarioEntity getUsuario() {
		return this.usuario;
	}

	public void setUsuario(UsuarioEntity usuario) {
		this.usuario = usuario;
	}

	public FonteEntity getFonte() {
		return this.fonte;
	}

	public void setFonte(FonteEntity fonte) {
		this.fonte = fonte;
	}

	public String getAutor() {
		return this.autor;
	}

	public void setAutor(String autor) {
		this.autor = autor;
	}

	public Date getDataCriacao() {
		return this.dataCriacao;
	}

	public void setDataCriacao(Date dataCriacao) {
		this.dataCriacao = dataCriacao;
	}

	public Date getDataNoticia() {
		return this.dataNoticia;
	}

	public void setDataNoticia(Date dataNoticia) {
		this.dataNoticia = dataNoticia;
	}

	public boolean isStatus() {
		return this.status;
	}

	public void setStatus(boolean status) {
		this.status = status;
	}

	public String getTexto() {
		return this.texto;
	}

	public void setTexto(String texto) {
		this.texto = texto;
	}

	public String getTitulo() {
		return this.titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public String getImagem() {
		return this.imagem;
	}

	public void setImagem(String imagem) {
		this.imagem = imagem;
	}

	public String getSubTitulo() {
		return subTitulo;
	}

	public void setSubTitulo(String subTitulo) {
		this.subTitulo = subTitulo;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public byte[] getArquivoImagem() {
		return arquivoImagem;
	}

	public void setArquivoImagem(byte[] arquivoImagem) {
		this.arquivoImagem = arquivoImagem;
	}

	public Integer getTamanhoImagem() {
		return tamanhoImagem;
	}

	public void setTamanhoImagem(Integer tamanhoImagem) {
		this.tamanhoImagem = tamanhoImagem;
	}
}
